/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package questao06;

/**
 *
 * @author Bush
 */
public class Pedido {   
    private Status status;
    private IEstado estado;
    enum Status{PROCESSANDO,CANCELADO,ENVIADO};

    public Pedido(Status status) {
        this.status = status;
        this.estado = new Processando(this);
    }
    
    public void setEstado(IEstado estado){
        this.estado = estado;
    }
    
    public void enviar(){
        estado.enviar();
    }
    public void cancelar(){
        estado.cancelar();
    }
    public void alterar() throws Exception{
        estado.alterar();
    }

    public Status getStatus() {
        return status;
    }

    public void setStatus(Status status) {
        this.status = status;
    }   
}
